.TH std::declare_reachable 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::declare_reachable \- std::declare_reachable

.SH Synopsis
   Defined in header <memory>
   void declare_reachable( void* p );  \fI(since C++11)\fP
                                       (removed in C++23)

   Declares the object referenced by the pointer p reachable. Reachable objects will
   not be deleted by the garbage collector or considered to be a leak by a leak
   detector even if all pointers to it are destroyed. An object may be declared
   reachable multiple times, in which case multiple calls to std::undeclare_reachable
   would be needed to remove this property. For example, a XOR linked list needs to
   declare its nodes reachable if the implementation has garbage collection enabled.

.SH Parameters

   p - a safely-derived pointer or a null pointer

.SH Return value

   \fI(none)\fP

.SH Exceptions

   May throw std::bad_alloc if the system cannot allocate memory required to track
   reachable objects.

.SH See also

   undeclare_reachable declares that an object can be recycled
   \fI(C++11)\fP             \fI(function template)\fP
   (removed in C++23)
